Suliffeqarnermi pissutsit


Sulisorineqarsinnaasut
ARXSTK2_raw <- 
  statgl_url("ARXSTK2", lang = language) |> 
  statgl_fetch(
    aar       = px_top(),
    udd_grp   = c("AA", "10", "20", "30", "40", "50"),
    opg_var   = px_all(),
    .col_code = TRUE
  ) %>% 
  as_tibble()

ARXSTK2 <-
  ARXSTK2_raw %>% 
  mutate(
    udd_grp = udd_grp %>% factor(levels = unique(udd_grp)),
    opg_var = opg_var %>% fct_rev()
  ) %>% 
  spread(udd_grp, value)


ARXSTK2 %>% 
  select(-aar) %>% 
  rename(" " = 1) %>% 
  statgl_table() %>% 
  pack_rows(index = ARXSTK2[["aar"]] %>% table()) |> 
  row_spec(1, bold = T)
Katillugit Meeqqat atuarfiat Ilinniarnertuunngorniarneq Inuussutissarsiornermik ilinniarneq: Katillugit Angusanik qaffassaaneq Ingerlariaqqiffiusumik ilinniarneq
2023
Innuttaasut tamakkerlugit 37.072 20.027 2.208 8.263 1.409 5.165
Agguaqatigiissillugu qaammammut sulisinnaasut (suliffillit + suliffissaaleqisut) 29.049 14.105 1.633 7.221 1.233 4.857
Agguaqatigiissillugu qaammammut sulisinnaasunut ilaanngitsut (innuttaasut tamakkerlugit - sulisinnaasut) 8.023 5.922 575 1.042 176 308
Agguaqatigiissillugu qaammammut suliffissaaleqisut 857 712 18 98 12 18
Agguaqatigiissillugu qaammammut suliffillit 28.192 13.393 1.615 7.123 1.222 4.840


Se Statistikbankens tabel: ARXSTK2

Suliffissarsiortut


ARXLED2_raw <- 
  statgl_url("ARXLED2", lang = language) %>%
  statgl_fetch(
    aar       = px_top(2),
    md        = px_all(),
    koen      = 3,
    type_k    = "A",
    alderskat = px_all(),
    .col_code = TRUE
  ) %>% 
  as_tibble()

ARXLED2 <- 
  ARXLED2_raw %>% 
  filter(aar <= Sys.time() %>% year() - 1) %>% 
  mutate(
    alderskat = alderskat %>% factor(levels = unique(alderskat)),
    md = md %>% factor(levels = unique(md))
  ) %>% 
  spread(md, value) %>% 
  unite(combi, type_k, koen, sep = ", ")

ARXLED2 %>% 
  select(-c(aar, combi)) %>% 
  rename(" " = 1) %>% 
  statgl_table() %>% 
  pack_rows(index = ARXLED2[["aar"]] %>% table())
Januaari Februaari Marsi Apriili Maaji Juuni Juuli Aggusti Septembari Oktobari Novembari Decembari
2024
18-19 86 78 73 67 68 68 69 54 43 60 70 96
20-24 200 193 184 200 173 150 137 126 115 142 178 207
25-29 200 181 182 185 169 157 158 145 126 146 179 220
30-34 219 189 184 203 187 170 157 160 126 153 176 217
35-39 193 160 171 175 147 132 115 131 109 131 147 187
40-44 173 148 139 147 146 121 114 110 114 137 153 160
45-49 123 104 95 115 101 95 84 85 77 96 107 120
50-54 160 113 123 131 116 99 98 92 90 107 125 147
55-59 261 209 189 214 192 164 154 134 138 166 210 240
60+ 208 147 150 166 176 158 144 141 133 175 209 219


Se Statistikbankens tabel: ARXLED2

ARXLEDVAR_raw <- 
  statgl_url("ARXLEDVAR", lang = language) %>% 
  statgl_fetch(
    koen      = 0,
    Alderskat = "A",
    opg_var   = px_all(),
    taar_kvar = px_top(1),
    kvar_led  = px_all(),
    .col_code = TRUE
  ) %>% 
  as_tibble()

ARXLEDVAR <- 
  ARXLEDVAR_raw %>% 
  unite(combi, Alderskat, koen, sep = ", ") %>% 
  mutate(
    kvar_led = kvar_led %>% fct_inorder(),
    opg_var = opg_var %>% fct_inorder()
  ) %>% 
  spread(opg_var, value)

ARXLEDVAR %>% 
  select(-c(combi, taar_kvar)) %>% 
  rename(" " = 1) %>% 
  statgl_table() %>% 
  pack_rows(index = ARXLEDVAR[["taar_kvar"]] %>% table()) %>% 
  row_spec(1, bold = TRUE)
Inuit amerlassusaat Procentinngorlugit
2025Q1
Tamarmik 4.616 100,0
Qaammatini 1-3 2.597 56,3
Qaammatini 4-6 1.112 24,1
Qaammatini 7-9 475 10,3
Qaammatini 10-12 432 9,4


Se Statistikbankens tabel: ARXSTK1

Suliffeqarneq
url <- paste0("https://bank.stat.gl/api/v1/", language, "/Greenland/AR/AR30/ARXBFB01.px")

ARXBFB1_raw <- 
  #url |> 
  statgl_url("ARXBFB01", lang = language) |> 
  statgl_fetch(
    aar       = px_top(),
    beskbrch  = px_all(),
    sex       = "A",
    opg_var   = "G",
    bybygd    = px_all(),
    .col_code = TRUE
  ) %>% 
  as_tibble()

ARXBFB1 <- 
  ARXBFB1_raw %>% 
  arrange(-value) %>% 
  mutate(
    beskbrch = beskbrch %>% fct_inorder(),
    bybygd = bybygd %>% fct_inorder()
  ) %>% 
  spread(bybygd, value) %>% 
  unite(combi, opg_var, aar, sep = ", ")

ARXBFB1 %>% 
  select(-c(combi, sex)) %>% 
  rename(" " = 1) %>% 
  statgl_table() %>% 
  pack_rows(index = ARXBFB1[["combi"]] %>% table()) %>% 
  row_spec(1, bold = TRUE) 
Katillugit Illoqarfiit Nunaqarfiit il.il.
Agguaqatigiissillugu qaammammut saniatigooralugu suliffillit, 2023
Suliaqarfiit katillugit 29.339 25.874 3.465
Pisortat allaffissornerat kiffartuussinerallu 12.730 11.487 1.243
Inuiaqatigiit illersugaanerat (COFOG 10) 5.089 4.651 437
Aalisarneq aalisakkanillu tunisassiornermi niuerneq 4.517 3.281 1.237
Niuertunik pilersuineq atungassanillu nioqquteqarneq 3.055 2.701 354
Ilaqutariit meeqqallu (COFOG 10.40) 2.519 2.290 229
Ilinniartitsineq (COFOG 9) 2.479 2.173 307
Sanaartorneq sanaartortitsinerlu 2.239 2.185 54
Assartuineq assartugassalerinerlu 2.087 1.859 228
Meeqqat atuarfiat sanilliunneqarsinnaasullu (COFOG 9.10) 1.559 1.262 297
Inuiaqatigiit illersugaanerat (COFOG 10.x) 1.317 1.259 58
Peqqinnissaqarfik (COFOG 7) 1.302 1.222 80
Pisortat nalinginnaasumik kiffartuussinerat (COFOG 1) 1.270 1.135 135
Utoqqalineq (COFOG 10.20) 1.253 1.102 150
Akunnittarfiit neriniartarfiillu 903 847 56
Nalunaarsuuteqanngitsut 822 748 74
Allat (COFOG x) 750 701 49
Inuusuttut ilinniartitaanerata qaffasissusia (COFOG 9.20) 629 622 7
Aningaasaqarnermut tunngasut (COFOG 4) 619 501 118
Paasissutissalerineq attaveqaatilerinerlu 555 550 5
Inuiaqatigiinni toqqissisimaneq isumannaassuserlu (COFOG 3) 521 497 24
Allaffissornikkut kiffartuussinerit 449 385 65
Nukissiuutinik imermillu pilersuineq 424 327 97
Sunngiffik, kulturi upperisarlu (COFOG 8) 359 308 51
Kiffartuussilluni inuussutissarsiorfiit allat 330 325 4
Inissiaateqarneq 325 320 5
Namminersortunit, ilisimatusarnikkut teknikkikkullu suliaqartunit kiffartuussinerit 298 296 2
Ilinniartitsineq allat (COFOG 9.x) 291 289 3
Avatangiisit innarlitsaaliorneqarnerat (COFOG 5) 264 226 39
Nioqqutissiorneq 231 226 5
Aningaaseriviit aningaasaliisarfiillu 208 207 0
Aatsitassarsiorneq 85 79 6
Nunalerineq, orpippassualerineq nunalerinermilu tunisassiorneq niuernerlu 83 53 31
Illersornissaq (COFOG 2) 48 45 3
Inissiat tamanillu orninneqarsinnaasut (COFOG 6) 29 29 NA


Se Statistikbankens tabel: ARXBFB01

Suliffissaaleqineq
url <- paste0("https://bank.stat.gl/api/v1/", language, "/Greenland/AR/AR40/ARXLED6.px")

ARXLED6_raw <- 
  statgl_url("ARXLED6", lang = language) |> 
  statgl_fetch(
    aar       = px_top(5),
    udd_grp   = px_all(),
    opg_var   = "P",
    .col_code = TRUE
  ) %>% 
  as_tibble()

ARXLED6_raw %>% 
  mutate(
    udd_grp = udd_grp %>% fct_inorder(),
    aar = aar %>% fct_inorder()
  ) %>% 
  spread(aar, value) %>%
  select(-opg_var) |> 
  rename(" " = 1) %>% 
  statgl_table() %>% 
  row_spec(1, bold = TRUE) |> 
  add_footnote(ARXLED6_raw[[3]][1], notation = "symbol")
2019 2020 2021 2022 2023
Katillugit 4,3 4,5 3,7 3,2 2,9
Meeqqat atuarfiat 7,1 7,5 6,2 5,5 5,0
Ilinniarnertuunngorniarneq 1,4 1,4 0,9 0,9 1,1
Inuussutissarsiornermik ilinniarneq: Katillugit 2,1 2,3 1,8 1,5 1,4
Inuuss. Ilinniarneq: Eqqumiitsuliorneq aamma humaniora 2,6 3,4 2,8 2,0 0,7
Inuuss. Ilinniarneq: Inuussutissarsiorneq, allaffissorneq inatsisilerinerlu 0,9 1,5 1,3 0,9 0,5
Inuuss. Ilinniarneq: Ingeniørinngorniarneq, tunisassiorneq sanaartornerlu 1,8 1,9 1,6 1,6 1,4
Inuuss. Ilinniarneq: Nunalerineq, orpippassualerineq, aalisarneq uumasullu 6,1 6,5 5,2 4,0 3,4
Inuuss. Ilinniarneq: Peqqinneq atungarissaarnerlu 1,6 1,7 1,4 1,1 1,1
Inuuss. Ilinniarneq: Kiffartuussinermi suliaqarfik 3,0 3,2 2,1 1,8 1,9
Inuuss. Ilinniarneq: Allat 1,2 1,5 0,7 0,3 0,5
Angusanik qaffassaaneq 1,7 1,9 1,3 1,2 0,9
Ingerlariaqqiffiusumik ilinniarneq 0,4 0,4 0,3 0,4 0,4
* Agguaqatigiissillugu qaammammut suliffissaaleqineq pct.-inngorlugu


Se Statistikbankens tabel: ARXLED7


Sidst opdateret: 22. juni 2025
LS0tDQpwYXJhbXM6DQogIGxhbmc6ICJkYSINCm91dHB1dDoNCiAgc3RhdGdsOjpzdGF0Z2xfcmVwb3J0Og0KICAgIGNvZGVfZG93bmxvYWQ6IHRydWUNCiAgICBjb2RlX2ZvbGRpbmc6IGhpZGUNCmVkaXRvcl9vcHRpb25zOiANCiAgY2h1bmtfb3V0cHV0X3R5cGU6IGNvbnNvbGUNCi0tLQ0KDQpgYGB7ciBzZXR1cCwgaW5jbHVkZT1GQUxTRX0NCg0Ka25pdHI6Om9wdHNfY2h1bmskc2V0KA0KCWVjaG8gICAgPSBUUlVFLA0KCW1lc3NhZ2UgPSBGQUxTRSwNCgl3YXJuaW5nID0gRkFMU0UsDQoJY2xhc3Mub3V0cHV0ID0gInNjcm9sbC0xMDAiDQopDQoNCmxpYnJhcnkoInRpZHl2ZXJzZSIpDQpsaWJyYXJ5KCJzdGF0Z2wiKQ0KbGlicmFyeSgia2FibGVFeHRyYSIpDQpsaWJyYXJ5KCJsdWJyaWRhdGUiKQ0KbGlicmFyeSgieWFtbCIpDQoNCmxhbmd1YWdlICA8LSBwYXJhbXMkbGFuZw0Kb3B0aW9uICAgIDwtIHBhc3RlMCgiP2xhbmc9IiwgbGFuZ3VhZ2UsICImc2VsZWN0IikNCmxvZ28gICAgICA8LSBwYXN0ZTAoZ2V0d2QoKSwiL2FkZC9sb2dvLmdpZiIpDQp0eHQgICAgICAgPC0gcmVhZF95YW1sKHBhc3RlMChnZXR3ZCgpLCAiL2FkZC90eHQueW1sIiksIGZpbGVFbmNvZGluZyA9ICJJU08tODg1OS0xIikNCnNvdXJjZSAgICA8LSB0eHQkc291cmNlW2xhbmd1YWdlXSAlPiUgdW5saXN0KCkNCg0KeGFyaW5nYW5FeHRyYTo6dXNlX2NsaXBib2FyZCgpDQoNCmBgYA0KDQpgYGB7Y3NzLCBlY2hvID0gRkFMU0V9DQoNCi5hY2NvcmRpb24gew0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTE5OTAwOw0KICBjb2xvcjogd2hpdGU7DQogIGN1cnNvcjogcG9pbnRlcjsNCiAgcGFkZGluZzogMThweDsNCiAgd2lkdGg6IDEwMCU7DQogIGJvcmRlcjogbm9uZTsNCiAgYm9yZGVyLXJhZGl1czogNXB4Ow0KICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICBvdXRsaW5lOiBub25lOw0KICBmb250LXNpemU6IDE1cHg7DQogIHRyYW5zaXRpb246IDAuNHM7DQp9DQoNCi5hY3RpdmUsIC5hY2NvcmRpb246aG92ZXIgew0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjk3MjQyOw0KfQ0KDQouYWNjb3JkaW9uOmFmdGVyIHsNCiAgY29udGVudDogJ1wwMDJCJzsNCiAgY29sb3I6ICM3Nzc7DQogIGZvbnQtd2VpZ2h0OiBib2xkOw0KICBmbG9hdDogcmlnaHQ7DQogIG1hcmdpbi1sZWZ0OiA1cHg7DQp9DQoNCi5hY3RpdmU6YWZ0ZXIgew0KICBjb250ZW50OiAiXDIyMTIiOw0KfQ0KDQoucGFuZWwgew0KICBwYWRkaW5nOiAwcHggNXB4IDBweCA1cHg7DQogIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOw0KICBtYXgtaGVpZ2h0OiAwOw0KICBvdmVyZmxvdzogaGlkZGVuOw0KICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuMnMgZWFzZS1vdXQ7DQp9DQoNCmRldGFpbHMgew0KICB3aWR0aDogMTAwJTsNCn0NCg0KZGV0YWlscyA+IHN1bW1hcnkgew0KICBwYWRkaW5nOiA0cHggMTJweDsNCiAgd2lkdGg6IDEwMCU7DQogIGJhY2tncm91bmQtY29sb3I6ICMwMDdmOTk7DQogIGJvcmRlcjogc29saWQ7DQogIGJvcmRlci1jb2xvcjogd2hpdGU7DQogIGJvcmRlci1yYWRpdXM6IDVweDsNCiAgY3Vyc29yOiBwb2ludGVyOw0KICBmb250LXNpemU6IDE1cHg7DQogIGNvbG9yOiB3aGl0ZTsNCn0NCg0KZGV0YWlsc1tvcGVuXSA+IHN1bW1hcnkgew0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFhNDFhOw0KfQ0KDQoNCi50aXRsZSB7DQogIGNvbG9yOiAjMWI1NDYzOw0KICBmb250LXNpemU6IDM2cHg7DQp9DQoNCg0KLnBlcnNvbmVyIHsNCiAgYm94LXNoYWRvdzogM3B4IDNweCA0cHggYmxhY2s7DQogIGJhY2tncm91bmQ6ICMwMDQ0NTk7DQogIHBhZGRpbmctcmlnaHQ6IDE1cHg7DQogIHBhZGRpbmctbGVmdDogMTZweDsNCiAgcGFkZGluZy10b3A6IDAuMXB4Ow0KICBwYWRkaW5nLWJvdHRvbTogMXB4Ow0KICBmb250LXNpemU6IDExcHg7DQogIGNvbG9yOiB3aGl0ZTsNCiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCn0NCg0KLsO4a29ub21pIHsNCiAgYm94LXNoYWRvdzogM3B4IDNweCA0cHggYmxhY2s7DQogIGJhY2tncm91bmQ6ICMwMDdGOTk7DQogIHBhZGRpbmctcmlnaHQ6IDE1cHg7DQogIHBhZGRpbmctbGVmdDogMTZweDsNCiAgcGFkZGluZy10b3A6IDFweDsNCiAgcGFkZGluZy1ib3R0b206IDAuMXB4Ow0KICBmb250LXNpemU6IDExcHg7DQogIGNvbG9yOiB3aGl0ZTsNCiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCn0NCg0KLnR2w6ZyZ8OlZW5kZSB7DQogIGJveC1zaGFkb3c6IDNweCAzcHggNHB4IGJsYWNrOw0KICBiYWNrZ3JvdW5kOiAjZmFhNDFhOw0KICBwYWRkaW5nLXJpZ2h0OiAxNXB4Ow0KICBwYWRkaW5nLWxlZnQ6IDE2cHg7DQogIHBhZGRpbmctdG9wOiAwLjFweDsNCiAgcGFkZGluZy1ib3R0b206IDFweDsNCiAgZm9udC1zaXplOiAxMXB4Ow0KICBjb2xvcjogd2hpdGU7DQogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQp9DQoNCi5jb250YWluZXIgew0KICB3aWR0aDogaW5oZXJpdDsNCn0NCg0KLnNjcm9sbC0xMDAgew0KICBtYXgtaGVpZ2h0OiAxMDA7DQogIG92ZXJmbG93LXk6IGF1dG87DQogIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7DQp9DQoNCg0KcHJlIHsNCiAgbWF4LWhlaWdodDogMzAwcHg7DQogIG92ZXJmbG93LXk6IGF1dG87DQp9DQoNCnByZVtjbGFzc10gew0KICBtYXgtaGVpZ2h0OiAzMDBweDsNCn0NCg0KYGBgDQoNCjxicj4NCjxicj4NCg0KPGNlbnRlcj4NCg0KLS0tDQogDQojIFtgciB0eHQkQVIkdGl0bGVbbGFuZ3VhZ2VdYF17LnRpdGxlfQ0KIA0KLS0tDQo8L2NlbnRlcj4NCg0KPGRldGFpbHM+IDxzdW1tYXJ5PiBgciB0eHQkQVIkc3ViMVtsYW5ndWFnZV1gIDwvc3VtbWFyeT4gDQo8YnI+DQo8YnV0dG9uIGNsYXNzPSJhY2NvcmRpb24iPiBgciBwYXN0ZTAoIioqVGFiZWwgMTogKioiLCBzdGF0Z2xfbWV0YShzdGF0Z2xfdXJsKCJBUlhTVEsyIiwgbGFuZyA9IGxhbmd1YWdlKSlbMV0kdGl0bGUpIGAgPC9idXR0b24+IDxkaXYgY2xhc3M9InBhbmVsIj4NCg0KYGBge3IgQVJYU1RLMn0NCg0KQVJYU1RLMl9yYXcgPC0gDQogIHN0YXRnbF91cmwoIkFSWFNUSzIiLCBsYW5nID0gbGFuZ3VhZ2UpIHw+IA0KICBzdGF0Z2xfZmV0Y2goDQogICAgYWFyICAgICAgID0gcHhfdG9wKCksDQogICAgdWRkX2dycCAgID0gYygiQUEiLCAiMTAiLCAiMjAiLCAiMzAiLCAiNDAiLCAiNTAiKSwNCiAgICBvcGdfdmFyICAgPSBweF9hbGwoKSwNCiAgICAuY29sX2NvZGUgPSBUUlVFDQogICkgJT4lIA0KICBhc190aWJibGUoKQ0KDQpBUlhTVEsyIDwtDQogIEFSWFNUSzJfcmF3ICU+JSANCiAgbXV0YXRlKA0KICAgIHVkZF9ncnAgPSB1ZGRfZ3JwICU+JSBmYWN0b3IobGV2ZWxzID0gdW5pcXVlKHVkZF9ncnApKSwNCiAgICBvcGdfdmFyID0gb3BnX3ZhciAlPiUgZmN0X3JldigpDQogICkgJT4lIA0KICBzcHJlYWQodWRkX2dycCwgdmFsdWUpDQoNCg0KQVJYU1RLMiAlPiUgDQogIHNlbGVjdCgtYWFyKSAlPiUgDQogIHJlbmFtZSgiICIgPSAxKSAlPiUgDQogIHN0YXRnbF90YWJsZSgpICU+JSANCiAgcGFja19yb3dzKGluZGV4ID0gQVJYU1RLMltbImFhciJdXSAlPiUgdGFibGUoKSkgfD4gDQogIHJvd19zcGVjKDEsIGJvbGQgPSBUKQ0KDQpgYGANCjxicj4NClshW10oYHIgbG9nb2Ape3dpZHRoPTQwfWByIHBhc3RlKHNvdXJjZSwgIkFSWFNUSzIiKWBdKGByIHBhc3RlMCgiaHR0cHM6Ly9iYW5rLnN0YXQuZ2w6NDQzL3NxL2MzOWRiNmIyLTkzY2QtNDY2OS04ZmFkLWRhZDE2ZDhhMGVhMSIsIG9wdGlvbilgKXt0YXJnZXQ9Il9ibGFuayJ9DQo8L2Rpdj4gDQo8L2RldGFpbHM+DQoNCjxkZXRhaWxzPiA8c3VtbWFyeT4gYHIgdHh0JEFSJHN1YjJbbGFuZ3VhZ2VdYCA8L3N1bW1hcnk+DQo8YnI+DQoNCjxidXR0b24gY2xhc3M9ImFjY29yZGlvbiI+IGByIHBhc3RlMCgiKipUYWJlbCAyOiAqKiIsIHN0YXRnbF9tZXRhKHN0YXRnbF91cmwoIkFSWExFRDIiLCBsYW5nID0gbGFuZ3VhZ2UpKVsxXSR0aXRsZSkgYCA8L2J1dHRvbj4gPGRpdiBjbGFzcz0icGFuZWwiPg0KDQpgYGB7ciBBUlhMRUQyfQ0KDQpBUlhMRUQyX3JhdyA8LSANCiAgc3RhdGdsX3VybCgiQVJYTEVEMiIsIGxhbmcgPSBsYW5ndWFnZSkgJT4lDQogIHN0YXRnbF9mZXRjaCgNCiAgICBhYXIgICAgICAgPSBweF90b3AoMiksDQogICAgbWQgICAgICAgID0gcHhfYWxsKCksDQogICAga29lbiAgICAgID0gMywNCiAgICB0eXBlX2sgICAgPSAiQSIsDQogICAgYWxkZXJza2F0ID0gcHhfYWxsKCksDQogICAgLmNvbF9jb2RlID0gVFJVRQ0KICApICU+JSANCiAgYXNfdGliYmxlKCkNCg0KQVJYTEVEMiA8LSANCiAgQVJYTEVEMl9yYXcgJT4lIA0KICBmaWx0ZXIoYWFyIDw9IFN5cy50aW1lKCkgJT4lIHllYXIoKSAtIDEpICU+JSANCiAgbXV0YXRlKA0KICAgIGFsZGVyc2thdCA9IGFsZGVyc2thdCAlPiUgZmFjdG9yKGxldmVscyA9IHVuaXF1ZShhbGRlcnNrYXQpKSwNCiAgICBtZCA9IG1kICU+JSBmYWN0b3IobGV2ZWxzID0gdW5pcXVlKG1kKSkNCiAgKSAlPiUgDQogIHNwcmVhZChtZCwgdmFsdWUpICU+JSANCiAgdW5pdGUoY29tYmksIHR5cGVfaywga29lbiwgc2VwID0gIiwgIikNCg0KQVJYTEVEMiAlPiUgDQogIHNlbGVjdCgtYyhhYXIsIGNvbWJpKSkgJT4lIA0KICByZW5hbWUoIiAiID0gMSkgJT4lIA0KICBzdGF0Z2xfdGFibGUoKSAlPiUgDQogIHBhY2tfcm93cyhpbmRleCA9IEFSWExFRDJbWyJhYXIiXV0gJT4lIHRhYmxlKCkpDQoNCmBgYA0KPGJyPg0KWyFbXShgciBsb2dvYCl7d2lkdGg9NDB9YHIgcGFzdGUoc291cmNlLCAiQVJYTEVEMiIpYF0oYHIgcGFzdGUwKCJodHRwczovL2Jhbmsuc3RhdC5nbDo0NDMvc3EvOGRjMmMyMWQtODNjMy00NjlmLWE3YTEtOWVhYTNmOWUxOTkxIiwgb3B0aW9uKWApe3RhcmdldD0iX2JsYW5rIn0NCjwvZGl2PiANCg0KDQo8YnV0dG9uIGNsYXNzPSJhY2NvcmRpb24iPiBgciBwYXN0ZTAoIioqVGFiZWwgMzogKioiLCBzdGF0Z2xfbWV0YShzdGF0Z2xfdXJsKCJBUlhMRURWQVIiLCBsYW5nID0gbGFuZ3VhZ2UpKVsxXSR0aXRsZSkgYCA8L2J1dHRvbj4gPGRpdiBjbGFzcz0icGFuZWwiPg0KDQpgYGB7ciBBUlhMRURWQVJ9DQoNCkFSWExFRFZBUl9yYXcgPC0gDQogIHN0YXRnbF91cmwoIkFSWExFRFZBUiIsIGxhbmcgPSBsYW5ndWFnZSkgJT4lIA0KICBzdGF0Z2xfZmV0Y2goDQogICAga29lbiAgICAgID0gMCwNCiAgICBBbGRlcnNrYXQgPSAiQSIsDQogICAgb3BnX3ZhciAgID0gcHhfYWxsKCksDQogICAgdGFhcl9rdmFyID0gcHhfdG9wKDEpLA0KICAgIGt2YXJfbGVkICA9IHB4X2FsbCgpLA0KICAgIC5jb2xfY29kZSA9IFRSVUUNCiAgKSAlPiUgDQogIGFzX3RpYmJsZSgpDQoNCkFSWExFRFZBUiA8LSANCiAgQVJYTEVEVkFSX3JhdyAlPiUgDQogIHVuaXRlKGNvbWJpLCBBbGRlcnNrYXQsIGtvZW4sIHNlcCA9ICIsICIpICU+JSANCiAgbXV0YXRlKA0KICAgIGt2YXJfbGVkID0ga3Zhcl9sZWQgJT4lIGZjdF9pbm9yZGVyKCksDQogICAgb3BnX3ZhciA9IG9wZ192YXIgJT4lIGZjdF9pbm9yZGVyKCkNCiAgKSAlPiUgDQogIHNwcmVhZChvcGdfdmFyLCB2YWx1ZSkNCg0KQVJYTEVEVkFSICU+JSANCiAgc2VsZWN0KC1jKGNvbWJpLCB0YWFyX2t2YXIpKSAlPiUgDQogIHJlbmFtZSgiICIgPSAxKSAlPiUgDQogIHN0YXRnbF90YWJsZSgpICU+JSANCiAgcGFja19yb3dzKGluZGV4ID0gQVJYTEVEVkFSW1sidGFhcl9rdmFyIl1dICU+JSB0YWJsZSgpKSAlPiUgDQogIHJvd19zcGVjKDEsIGJvbGQgPSBUUlVFKQ0KDQoNCg0KDQpgYGANCjxicj4NClshW10oYHIgbG9nb2Ape3dpZHRoPTQwfWByIHBhc3RlKHNvdXJjZSwgIkFSWFNUSzEiKWBdKGByIHBhc3RlMCgiaHR0cHM6Ly9iYW5rLnN0YXQuZ2w6NDQzL3NxLzc1MjQ0YTQ5LWZjMjktNGNiYS05NDFhLTkwZWU0NjYzYWM0NyIsIG9wdGlvbilgKXt0YXJnZXQ9Il9ibGFuayJ9DQo8L2Rpdj4gDQo8L2RldGFpbHM+DQoNCjxkZXRhaWxzPiA8c3VtbWFyeT4gYHIgdHh0JEFSJHN1YjNbbGFuZ3VhZ2VdYCA8L3N1bW1hcnk+IA0KPGJyPg0KPGJ1dHRvbiBjbGFzcz0iYWNjb3JkaW9uIj4gYHIgJypUYWJlbCA0Oioge3N0YXRnbF9tZXRhKGdsdWU6OmdsdWUoImh0dHBzOi8vYmFuay5zdGF0LmdsL2FwaS92MS97bGFuZ3VhZ2V9L0dyZWVubGFuZC9BUi9BUjMwL0FSWEJGQjAxLnB4IikpIHw+IHBsdWNrKCJ0aXRsZSIpfScgfD4gZ2x1ZTo6Z2x1ZSgpIGAgPC9idXR0b24+IDxkaXYgY2xhc3M9InBhbmVsIj4NCg0KYGBge3IgQVJYQkZCMDF9DQoNCnVybCA8LSBwYXN0ZTAoImh0dHBzOi8vYmFuay5zdGF0LmdsL2FwaS92MS8iLCBsYW5ndWFnZSwgIi9HcmVlbmxhbmQvQVIvQVIzMC9BUlhCRkIwMS5weCIpDQoNCkFSWEJGQjFfcmF3IDwtIA0KICAjdXJsIHw+IA0KICBzdGF0Z2xfdXJsKCJBUlhCRkIwMSIsIGxhbmcgPSBsYW5ndWFnZSkgfD4gDQogIHN0YXRnbF9mZXRjaCgNCiAgICBhYXIgICAgICAgPSBweF90b3AoKSwNCiAgICBiZXNrYnJjaCAgPSBweF9hbGwoKSwNCiAgICBzZXggICAgICAgPSAiQSIsDQogICAgb3BnX3ZhciAgID0gIkciLA0KICAgIGJ5YnlnZCAgICA9IHB4X2FsbCgpLA0KICAgIC5jb2xfY29kZSA9IFRSVUUNCiAgKSAlPiUgDQogIGFzX3RpYmJsZSgpDQoNCkFSWEJGQjEgPC0gDQogIEFSWEJGQjFfcmF3ICU+JSANCiAgYXJyYW5nZSgtdmFsdWUpICU+JSANCiAgbXV0YXRlKA0KICAgIGJlc2ticmNoID0gYmVza2JyY2ggJT4lIGZjdF9pbm9yZGVyKCksDQogICAgYnlieWdkID0gYnlieWdkICU+JSBmY3RfaW5vcmRlcigpDQogICkgJT4lIA0KICBzcHJlYWQoYnlieWdkLCB2YWx1ZSkgJT4lIA0KICB1bml0ZShjb21iaSwgb3BnX3ZhciwgYWFyLCBzZXAgPSAiLCAiKQ0KDQpBUlhCRkIxICU+JSANCiAgc2VsZWN0KC1jKGNvbWJpLCBzZXgpKSAlPiUgDQogIHJlbmFtZSgiICIgPSAxKSAlPiUgDQogIHN0YXRnbF90YWJsZSgpICU+JSANCiAgcGFja19yb3dzKGluZGV4ID0gQVJYQkZCMVtbImNvbWJpIl1dICU+JSB0YWJsZSgpKSAlPiUgDQogIHJvd19zcGVjKDEsIGJvbGQgPSBUUlVFKSANCg0KYGBgDQo8YnI+DQpbIVtdKGByIGxvZ29gKXt3aWR0aD00MH1gciBwYXN0ZShzb3VyY2UsICJBUlhCRkIwMSIpYF0oYHIgcGFzdGUwKCJodHRwczovL2Jhbmsuc3RhdC5nbDo0NDMvc3EvMDFhZjU5MzQtZTlhYi00ZTcxLTkwZWEtNWYwODBjMTRiYWMyIiwgb3B0aW9uKWApe3RhcmdldD0iX2JsYW5rIn0NCjwvZGl2PiANCjwvZGV0YWlscz4gDQoNCjxkZXRhaWxzPiA8c3VtbWFyeT4gYHIgdHh0JEFSJHN1YjRbbGFuZ3VhZ2VdYCA8L3N1bW1hcnk+DQo8YnI+DQo8YnV0dG9uIGNsYXNzPSJhY2NvcmRpb24iPiBgciBwYXN0ZTAoIioqVGFiZWwgNTogKioiLCBzdGF0Z2xfbWV0YShzdGF0Z2xfdXJsKCJBUlhMRUQ2IiwgbGFuZyA9IGxhbmd1YWdlKSlbMV0kdGl0bGUpIGAgPC9idXR0b24+IDxkaXYgY2xhc3M9InBhbmVsIj4NCg0KYGBge3IgQVJYTEVENn0NCg0KdXJsIDwtIHBhc3RlMCgiaHR0cHM6Ly9iYW5rLnN0YXQuZ2wvYXBpL3YxLyIsIGxhbmd1YWdlLCAiL0dyZWVubGFuZC9BUi9BUjQwL0FSWExFRDYucHgiKQ0KDQpBUlhMRUQ2X3JhdyA8LSANCiAgc3RhdGdsX3VybCgiQVJYTEVENiIsIGxhbmcgPSBsYW5ndWFnZSkgfD4gDQogIHN0YXRnbF9mZXRjaCgNCiAgICBhYXIgICAgICAgPSBweF90b3AoNSksDQogICAgdWRkX2dycCAgID0gcHhfYWxsKCksDQogICAgb3BnX3ZhciAgID0gIlAiLA0KICAgIC5jb2xfY29kZSA9IFRSVUUNCiAgKSAlPiUgDQogIGFzX3RpYmJsZSgpDQoNCkFSWExFRDZfcmF3ICU+JSANCiAgbXV0YXRlKA0KICAgIHVkZF9ncnAgPSB1ZGRfZ3JwICU+JSBmY3RfaW5vcmRlcigpLA0KICAgIGFhciA9IGFhciAlPiUgZmN0X2lub3JkZXIoKQ0KICApICU+JSANCiAgc3ByZWFkKGFhciwgdmFsdWUpICU+JQ0KICBzZWxlY3QoLW9wZ192YXIpIHw+IA0KICByZW5hbWUoIiAiID0gMSkgJT4lIA0KICBzdGF0Z2xfdGFibGUoKSAlPiUgDQogIHJvd19zcGVjKDEsIGJvbGQgPSBUUlVFKSB8PiANCiAgYWRkX2Zvb3Rub3RlKEFSWExFRDZfcmF3W1szXV1bMV0sIG5vdGF0aW9uID0gInN5bWJvbCIpDQoNCmBgYA0KPGJyPg0KWyFbXShgciBsb2dvYCl7d2lkdGg9NDB9YHIgcGFzdGUoc291cmNlLCAiQVJYTEVENyIpYF0oYHIgcGFzdGUwKCJodHRwczovL2Jhbmsuc3RhdC5nbDo0NDMvc3EvZmNhOWEzMjYtZDYwZS00OWE3LTgwY2EtZGI0MWUxNzdiZGUyIiwgb3B0aW9uKWApe3RhcmdldD0iX2JsYW5rIn0NCjwvZGl2PiANCjwvZGV0YWlscz4gDQoNCg0KDQo8aHIgc3R5bGU9ImJvcmRlcjoxcHggcmlkZ2UgbGlnaHRncmF5Ij4gPC9ocj4NCjxjZW50ZXI+IDxzcGFuIHN0eWxlPSdjb2xvcjojRDNEM0QzOyBmb250LXNpemU6OTAlOyc+IGByIHBhc3RlKHR4dCR1cGRhdGVbbGFuZ3VhZ2VdLCBmb3JtYXQoU3lzLkRhdGUoKSwgIiVkLiAlQiAlWSIpKWAgPC9zcGFuPiA8L2NlbnRlcj4NCg0KDQoNCg0KPHNjcmlwdD4NCnZhciBhY2MgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJhY2NvcmRpb24iKTsNCnZhciBpOw0KDQpmb3IgKGkgPSAwOyBpIDwgYWNjLmxlbmd0aDsgaSsrKSB7DQogIGFjY1tpXS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGZ1bmN0aW9uKCkgew0KICAgIHRoaXMuY2xhc3NMaXN0LnRvZ2dsZSgiYWN0aXZlIik7DQogICAgdmFyIHBhbmVsID0gdGhpcy5uZXh0RWxlbWVudFNpYmxpbmc7DQogICAgaWYgKHBhbmVsLnN0eWxlLm1heEhlaWdodCkgew0KICAgICAgcGFuZWwuc3R5bGUubWF4SGVpZ2h0ID0gbnVsbDsNCiAgICB9IGVsc2Ugew0KICAgICAgcGFuZWwuc3R5bGUubWF4SGVpZ2h0ID0gcGFuZWwuc2Nyb2xsSGVpZ2h0ICsgInB4IjsNCiAgICB9IA0KICB9KTsNCn0NCjwvc2NyaXB0Pg0KDQoNCg==